package com.xd.core.bill.dto;

import com.xd.common.base.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 应收账款列表分页查询条件参数
 * </p>
 *
 * @author ZCH
 * @since 2025-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ReceivePaymentQuery extends PageQuery implements Serializable {

    @ApiModelProperty(value = "客户名称")
    private String name;

    @ApiModelProperty(value = "本期还款状态(0待还款 1已还款 2已逾期 3提前还款 4提前结清)")
    private List<String> status;

    @ApiModelProperty(value = "当前还款日期最小值")
    private String currentRepaymentDateMin;

    @ApiModelProperty(value = "当前还款日期最大值")
    private String currentRepaymentDateMax;

    @ApiModelProperty(value = "借款合同编号")
    private String contractNo;

    @ApiModelProperty(value = "应还本期总额最小值")
    private BigDecimal amountMin;

    @ApiModelProperty(value = "应还本期总额最大值")
    private BigDecimal amountMax;

    @ApiModelProperty(value = "借款方式 0:等额本金 1:等额本息 2:等本等息 3:到期还本付息 4:先息后本")
    private List<String> loanMethod;

    @ApiModelProperty(value = "企业id")
    private Integer companyId;
}
